///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
 *	\file		CBulletFactory.h
 *	\author		Fish
 *	\date		August 14, 2011
 *  \brief      Manages and distributed instances of bullets
 */
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Include Guard
#ifndef CBULLETFACTORY_H
#define CBULLETFACTORY_H


// Headers
#include <map>

using std::map;

enum EBulletType { MACHINE=0 };

class CBulletFlyweight;

class CBulletFactory
{
    public:
        CBulletFactory();
        virtual ~CBulletFactory();

    static CBulletFlyweight*                        GetBulletBase(EBulletType type);
    private:

    static  map<EBulletType, CBulletFlyweight*>       bullets_;                 //!< map of Intrinsic ships
};

#endif // CBULLETFACTORY_H
